iT邦幫忙

2021 iThome 鐵人賽

DAY 21
1
Software Development

C 語言的簡單入門系列 第 21

【Day 21】陣列的程式範例與字串介紹

  • 分享至 

  • xImage
  •  

今天我們來看一個簡單的程式:

#include<stdio.h>
int main(){
	int arr[10] = {20, 23, 45, 8, 20, 65, 10, 12, 45, 56};
	int max = arr[0];
	int i;
	for(i=0; i<10; i++){
		if(arr[i] > max)
			max = arr[i];
		else
			max = max;
	}
	printf("The maximum is %d", max);
	return 0;
} 

輸出結果如下:

這是一個非常基本的程式,功能是要找出一個陣列裡面的最大值。

程式解說:

  • 首先,我們先宣告一個長度為十的陣列,並給他十個數值,我們想要找出這十個數值哪個數最大,所以我們宣告一個變數叫做 max,然後先給他初始值 arr[0],也就是數字 20。

  • 然後,我們用 for 迴圈去做,把迴圈裡的每一個值都跑過一次,並比較他是否大於我們現在的 max 值,如果大於 max 值,我們的 max 就要更新,如果沒有大於現在的 max 值,max 值就不改變。

  • 跑過一次之後,變數 max 裡面的值即是這十個數中的最大值,最後,再將他印出來即可。

字串(string)

字串在 C 裡的意義是指字元組成的陣列,最後加上一個空字元 '\0',例如底下這個"hello"字串:
char test[] = {'h', 'e', 'l', 'l', 'o', '\0'};

  • 也可以直接輸出在螢幕上:
    printf("%s", text);
  • 也可以使用 " " 來包含文字:
    char text[] = "hello";
    雖然以上這個例子沒有指定空字元 '\0',但這個語法會自動加上空字元。

gets()函式

在這裡,我們介紹一個新的輸入函式。gets()scanf()的差別是:如果使用scanf()讀取字串時,遇到空白字元便會結束。
gets()這個函式是只有遇到 Enter 鍵才會結束,在 Enter 鍵以前的字元輸入都會當成字元(包含空白鍵)。

明天,我們來介紹一種很好玩的排序法~


上一篇
【Day 20】C 語言的陣列
下一篇
【Day 22】陣列的應用-Bubble sort
系列文
C 語言的簡單入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言